:root{--ivory:#f8f5f0;--paper:#fffdfa;--blush:#efe4df;--rose:#b88376;--gold:#b59b70;--espresso:#312824;--muted:#827872;--line:#e4ddd5;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--container:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:var(--ivory);color:var(--espresso);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.container{max-width:var(--container)}
.skip-link{position:absolute;z-index:999;top:-60px;left:12px;padding:12px 18px;background:var(--espresso);color:#fff}.skip-link:focus{top:12px}
.announcement{height:34px;background:#eee4dd;display:flex;align-items:center;justify-content:center;position:relative;padding:0 40px;color:#66564c}
.announcement p{margin:0;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.announcement p span{color:var(--rose);margin:0 8px}
.announcement-close{position:absolute;right:max(calc((100vw - var(--container))/2),20px);border:0;background:none;color:#75655c;font-size:11px;padding:8px}
.site-header{height:76px;position:sticky;top:0;z-index:50;background:rgba(248,245,240,.95);border-bottom:1px solid transparent;transition:box-shadow .25s,border .25s,background .25s;backdrop-filter:blur(12px)}
.site-header.scrolled{box-shadow:0 5px 25px #3427210b;border-color:#e8e1da}
.site-header .navbar{height:100%;padding:0 20px}
.brand{font-family:var(--serif);font-size:27px;letter-spacing:.19em;line-height:.85;display:inline-flex;flex-direction:column;align-items:center;color:var(--espresso)!important}
.brand span{font-family:var(--sans);font-size:7px;letter-spacing:.32em;margin-top:8px}
.navbar-nav{gap:23px}.navbar-nav .nav-link{font-size:10px;color:#544b46;padding:10px 0!important;transition:color .2s}.navbar-nav .nav-link:hover{color:var(--rose)}
.button{min-height:48px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:17px;border:1px solid transparent;font-size:10px;letter-spacing:.06em;transition:background .25s,color .25s,border .25s,transform .25s;cursor:pointer}
.button i{font-size:13px}.button:hover{transform:translateY(-2px)}
.button-dark{color:#fff;background:var(--espresso)}.button-dark:hover{background:#574138;color:#fff}
.button-outline{border-color:#b8a99d;background:transparent;color:var(--espresso)}.button-outline:hover{border-color:var(--espresso);background:var(--espresso);color:#fff}
.button-light{color:var(--espresso);background:var(--paper)}.button-light:hover{background:var(--blush);color:var(--espresso)}
.nav-book{min-height:40px;padding:0 17px;font-size:9px}
.menu-toggle{border:0;box-shadow:none!important;padding:8px}.menu-toggle span{width:23px;height:1px;background:var(--espresso);display:block;margin:6px}
.section-shell{max-width:1600px;margin:auto}
.hero{padding:74px 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:8.4%;min-height:525px;padding:0 36px}
.hero-copy{padding-left:6.4%;padding-bottom:27px}
.eyebrow{font-size:9px;letter-spacing:.21em;color:#8e7667;margin:0 0 22px;text-transform:uppercase;font-weight:600}
.hero .eyebrow{display:flex;align-items:center;gap:10px}.hero .eyebrow span{width:22px;height:1px;background:var(--rose)}
h1,h2,h3,p{overflow-wrap:break-word}
.hero h1{font-family:var(--serif);font-size:clamp(56px,6.1vw,84px);font-weight:400;letter-spacing:-.045em;line-height:1.04;margin:0 0 23px}
h1 em,h2 em{font-weight:400;color:var(--rose)}
.hero-description{font-size:13px;line-height:1.9;color:var(--muted);max-width:380px;margin:0}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}
.hero-actions .button{min-height:51px}.text-link{font-size:10px;letter-spacing:.04em;border-bottom:1px solid #c4b5a8;padding:0 0 7px;display:inline-flex;align-items:center;gap:10px;transition:color .2s,border .2s}.text-link:hover{color:var(--rose);border-color:var(--rose)}
.hero-note{display:flex;gap:13px;align-items:center;margin-top:49px;color:#887d74;font-size:9px;letter-spacing:.07em}.note-stars{color:#b99a70;letter-spacing:2px}
.hero-visual{position:relative;padding:0 34px 25px 0;perspective:1200px;transform-style:preserve-3d}
.hero-visual:before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;right:4%;top:7%;background:radial-gradient(circle,#ead8ca 0,#f2e8df 48%,transparent 70%);filter:blur(2px)}
.hero-orbit{position:absolute;z-index:0;width:87%;aspect-ratio:1;right:-2%;top:4%;border:1px solid #c4a99063;border-radius:50%;transform:rotate(-24deg) scaleY(.72);pointer-events:none}
.hero-image-wrap{height:478px;overflow:hidden;border-radius:180px 180px 3px 3px;background:var(--blush);position:relative;z-index:1;transform:rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.7,.2,1);box-shadow:0 28px 70px #46302420}
.hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#ffffff40,transparent 35%,transparent 74%,#583a2921);border:1px solid #ffffff70;border-radius:inherit;pointer-events:none;transform:translateZ(2px)}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 31%;animation:heroReveal 1.1s both;transform:scale(1.015)}
.hero-makeup-float{position:absolute;z-index:3;display:grid;place-items:center;pointer-events:none;box-shadow:0 16px 40px #3b292524;backdrop-filter:blur(12px);animation:beautyFloat 5s ease-in-out infinite}
.hero-brush-float{right:2%;top:38%;width:63px;height:63px;border:1px solid #ffffffb8;border-radius:50%;background:#fffaf2df;color:#987368;font-size:24px;transform:translateZ(58px);animation-delay:-1.4s}
.hero-glow-float{left:1%;bottom:19%;display:flex;gap:9px;width:auto;height:auto;padding:12px 15px;border:1px solid #ffffffb8;border-radius:28px;background:#fffaf2e8;color:#947362;font-size:14px;transform:translateZ(66px);animation-delay:-3.1s}
.hero-glow-float small{font-size:7px;letter-spacing:.16em}
.hero-sparkle{position:absolute;z-index:2;color:#b68772;pointer-events:none;animation:sparkleFloat 3.5s ease-in-out infinite}
.hero-sparkle i{font-size:17px}
.sparkle-one{left:18%;top:18%;animation-delay:-.7s}.sparkle-two{right:12%;bottom:29%;animation-delay:-2s}
.hero-3d-label{position:absolute;z-index:2;top:27px;right:55px;background:#fffdfaaf;border:1px solid #ffffffa8;border-radius:30px;padding:10px 14px;color:#725d50;font-size:7px;letter-spacing:.15em;box-shadow:0 8px 24px #31282412;backdrop-filter:blur(12px);transform:translateZ(35px)}
.hero-3d-label i{color:var(--rose);font-size:11px;margin-right:5px}
.hero-stamp{position:absolute;z-index:2;left:-47px;top:68px;width:100px;height:100px;border-radius:50%;background:#f4ebe5;color:#816d5f;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;letter-spacing:.18em;line-height:1.7;transform:rotate(-10deg) translateZ(38px);box-shadow:0 8px 30px #32251a12,0 18px 35px #32251a20}
.hero-stamp i{position:absolute;right:-5px;top:5px;font-size:17px;color:var(--rose)}
.hero-card{position:absolute;z-index:3;right:-5px;bottom:0;background:#fffdfaeb;border:1px solid #ffffffb8;padding:15px 17px;min-width:208px;display:flex;align-items:center;gap:12px;box-shadow:0 14px 38px #3b2b2021;backdrop-filter:blur(14px);transform:translateZ(48px)}
.hero-card-icon{width:35px;height:35px;background:#f1e8e0;border-radius:50%;display:grid;place-items:center;color:#a47a6b;font-size:17px}
.hero-card small,.hero-card strong{display:block}.hero-card small{font-size:7px;letter-spacing:.16em;color:var(--muted)}.hero-card strong{font-family:var(--serif);font-size:16px;font-weight:400;margin-top:3px}.hero-card>a{margin-left:auto;font-size:12px}
.hero-side-caption{position:absolute;right:0;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:7px;letter-spacing:.2em;color:#95857a}
.hero-bottom{display:flex;align-items:center;gap:13px;padding:29px 55px 22px;color:#91847a;font-size:8px;letter-spacing:.15em}.hero-bottom-line{height:1px;width:40px;background:#c3b2a5}
.section-pad{padding:112px 0}
.intro{background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;padding:0 48px}
.intro-image{height:480px;position:relative;max-width:500px}.intro-image img{object-position:center}
.image-index{position:absolute;bottom:0;left:0;background:var(--paper);padding:14px 17px;font-size:8px;letter-spacing:.15em;color:#87766b}
.intro-copy{padding:12px 8% 0 0}.intro-copy h2,.section-heading h2,.why h2,.experience h2,.faq h2,.contact h2,.newsletter h2,.offer-inner h2{font-family:var(--serif);font-size:clamp(39px,4.3vw,58px);font-weight:400;letter-spacing:-.04em;line-height:1.11;margin:0 0 24px}
.muted-copy{font-size:12px;line-height:1.9;color:var(--muted);max-width:450px;margin:0 0 16px}
.intro-copy>.text-link{margin-top:10px}
.values-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line);margin-top:43px;padding-top:20px}
.values-row div{display:flex;flex-direction:column;gap:7px}.values-row span{font-size:8px;color:var(--rose);letter-spacing:.1em}.values-row strong{font-size:9px;font-weight:500;color:#685b52}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:38px;gap:25px}
.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{margin:0}
.heading-link{margin-bottom:7px}
.filter-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:0 0 25px;border-bottom:1px solid var(--line)}
.filter-button{border:0;background:transparent;color:#8a7e75;font-size:10px;padding:0 0 12px;position:relative;cursor:pointer}
.filter-button:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:1px;background:var(--espresso);transition:width .2s}
.filter-button.active{color:var(--espresso)}.filter-button.active:after{width:100%}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px}
.service-card{min-width:0}.service-card[hidden],.gallery-tile[hidden]{display:none!important}
.service-photo{display:block;height:238px;position:relative;overflow:hidden;background:var(--blush)}
.service-photo img,.gallery-tile img,.expert-image img,.social-grid img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.service-card:hover .service-photo img,.gallery-tile:hover img,.expert-card:hover .expert-image img,.social-grid a:hover img{transform:scale(1.045)}
.service-number{position:absolute;left:13px;top:13px;color:#fff;font-size:9px;letter-spacing:.16em;text-shadow:0 1px 6px #0005}
.service-arrow{position:absolute;right:12px;bottom:12px;width:33px;height:33px;background:var(--paper);display:grid;place-items:center;font-size:12px;transition:background .2s,color .2s}
.service-card:hover .service-arrow{background:var(--espresso);color:#fff}
.service-meta{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-top:15px}
.service-meta h3{font:400 19px var(--serif);margin:0}.service-meta>span{font-size:9px;color:#927e70;white-space:nowrap}
.service-card>p{font-size:10px;color:var(--muted);margin:7px 0 9px}.service-time{font-size:8px;color:#9c8e84}.service-time i{margin-right:4px}
.quote-band{background:#eae0d8;padding:68px 0;text-align:center}.quote-content{position:relative}.quote-mark{font:70px var(--serif);line-height:.55;color:#b18878}.quote-content p{font:clamp(34px,4vw,53px)/1.2 var(--serif);margin:15px 0 20px;letter-spacing:-.03em}.quote-content p em{color:#98786c}.quote-content>span:last-child{font-size:8px;letter-spacing:.2em;color:#816f62}
.why{background:var(--paper)}
.why-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;align-items:center;padding:0 42px}
.why-copy h2{margin-bottom:20px}.why-copy .button{margin-top:13px}
.why-list{border-top:1px solid var(--line)}
.why-item{display:grid;grid-template-columns:44px 1fr 28px;gap:17px;align-items:center;padding:21px 0;border-bottom:1px solid var(--line)}
.why-icon{width:39px;height:39px;border:1px solid #e8ddd4;border-radius:50%;display:grid;place-items:center;color:#ae8472;font-size:16px}
.why-item h3{font:400 19px var(--serif);margin:0 0 5px}.why-item p{font-size:10px;color:var(--muted);margin:0}.why-index{font-size:8px;color:#aa9587;text-align:right}
.section-aside{max-width:300px;font-size:11px;color:var(--muted);line-height:1.8;margin:0 0 5px}
.expert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.expert-image{height:340px;position:relative;overflow:hidden;background:var(--blush)}
.expert-image>a{position:absolute;bottom:13px;right:13px;width:37px;height:37px;background:var(--paper);display:grid;place-items:center;transition:background .2s,color .2s}.expert-image>a:hover{background:var(--espresso);color:#fff}
.expert-role{font-size:8px;letter-spacing:.15em;color:#9b8071;margin:17px 0 7px}.expert-card h3{font:400 24px var(--serif);margin:0 0 7px}.expert-card>p:last-child{font-size:10px;color:var(--muted);margin:0}.expert-card>p span{display:block;font-size:9px;color:#a18f83;margin-top:4px}
.packages{background:#f1ebe4}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.package-card{background:var(--paper);padding:35px 32px 32px;position:relative}
.package-card.package-featured{background:#e7d9cf;padding-top:39px}
.popular-tag{position:absolute;right:18px;top:0;background:var(--espresso);color:#fff;padding:8px 10px;font-size:7px;letter-spacing:.14em}
.package-type{font-size:8px;letter-spacing:.17em;color:#987c6c;margin:0 0 17px}.package-card h3{font:400 28px var(--serif);margin:0 0 9px}.package-desc{font-size:10px;color:var(--muted);margin:0 0 20px}
.package-price{font:400 19px var(--serif);padding-bottom:18px;border-bottom:1px solid #e5ddd6}.package-price small{font:9px var(--sans);color:#8f8278}
.package-card ul{list-style:none;margin:17px 0 22px;padding:0;min-height:107px}.package-card li{display:flex;gap:9px;align-items:center;font-size:10px;color:#6f625a;margin:11px 0}.package-card li i{color:#ad8874}
.package-card>.button{width:100%}
.gallery{background:var(--paper)}
.gallery-filters{margin-top:-5px}
.gallery-grid{display:grid;grid-template-columns:1.12fr .88fr .88fr;grid-template-rows:220px 230px;gap:14px}
.gallery-tile{padding:0;border:0;position:relative;overflow:hidden;cursor:pointer;background:#ded2c8;text-align:left}
.gallery-tile:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#21170f8c)}
.gallery-tile img{position:absolute;inset:0}
.gallery-tile>span{position:absolute;z-index:1;bottom:14px;left:15px;color:white;font-size:8px;letter-spacing:.13em}
.tile-tall{grid-row:span 2}.tile-wide{grid-column:span 1}
.gallery-note,.placeholder-note{font-size:9px;color:#9a8c81;margin:14px 0 0}
.experience{background:var(--ivory)}
.experience-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:10%;align-items:center;padding:0 42px}
.experience-visual{height:400px;position:relative}.experience-visual img{object-position:center 55%}
.experience-seal{position:absolute;bottom:-22px;right:-23px;width:102px;height:102px;background:#eee2d8;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#8f7365;transform:rotate(8deg)}
.experience-seal i{font-size:19px}.experience-seal small{text-align:center;font-size:7px;letter-spacing:.14em;line-height:1.5}
.experience-copy h2{margin-bottom:20px}
.testimonial{background:#eae0d8;text-align:center;padding:83px 0 72px}
.testimonial-container{max-width:760px}
.testimonial .eyebrow{margin-bottom:13px}
.testimonial-mark{font:75px/.8 var(--serif);color:#ae8678}
.testimonial-slide{display:none;animation:fadeIn .45s}.testimonial-slide.active{display:block}
.testimonial-slide blockquote{font:clamp(23px,3.2vw,37px)/1.4 var(--serif);margin:10px 0 19px;letter-spacing:-.02em}
.testimonial-slide p{font-size:9px;color:#89796e;margin:0}
.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:21px;margin-top:27px}
.slider-arrow{width:34px;height:34px;border:1px solid #cbb8aa;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s,color .2s}.slider-arrow:hover{background:var(--espresso);color:#fff}
.slider-count{font-size:8px;letter-spacing:.1em;color:#8f8076}.slider-count b{color:var(--espresso)}
.testimonial-disclaimer{font-size:8px;color:#94847a;margin:15px 0 0}
.offer-band{background:#8d6e61;color:#fff;padding:56px 0}
.offer-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.offer-inner .eyebrow{color:#ead5c8;margin-bottom:10px}.offer-inner h2{font-size:42px;margin:0 0 10px}.offer-inner h2 em{color:#f0cdbd}.offer-inner p:not(.eyebrow){color:#f1e5dc;font-size:11px;margin:0}.offer-inner .button{flex-shrink:0}
.social-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.social-grid a{height:178px;position:relative;overflow:hidden;background:var(--blush)}.social-grid a i{position:absolute;right:10px;top:10px;color:white;text-shadow:0 1px 5px #0007;opacity:0;transition:opacity .2s}.social-grid a:hover i{opacity:1}
.booking{background:#eee5dd}
.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:11%;padding:0 42px;align-items:start}
.booking-copy h2{font-family:var(--serif);font-size:clamp(40px,4.3vw,58px);font-weight:400;line-height:1.1;letter-spacing:-.04em;margin:0 0 19px}
.booking-contact{display:flex;flex-direction:column;gap:17px;margin-top:32px}.booking-contact>span{font:16px var(--serif);display:grid;grid-template-columns:22px 1fr;align-items:center}.booking-contact i{font-size:13px;color:#9a7666}.booking-contact small{grid-column:2;font:9px var(--sans);color:#998b80;margin-top:4px}
.demo-notice{margin-top:30px;background:#e5d8cd;padding:13px;display:flex;gap:10px;font-size:9px;line-height:1.6;color:#74645a}.demo-notice i{color:#9d7662;font-size:14px}
.booking-form,.contact-form{background:var(--paper);padding:33px 37px;box-shadow:0 12px 40px #42312508}
.form-progress{display:flex;align-items:center;gap:8px;margin-bottom:29px;position:relative}.step-dot{width:8px;height:8px;border-radius:50%;background:#ddd3ca;z-index:1}.step-dot.active{background:#9f7967;box-shadow:0 0 0 4px #f0e6df}.progress-line{height:1px;width:45px;background:#ddd3ca}.form-progress small{margin-left:auto;font-size:8px;letter-spacing:.12em;color:#99897e}.form-progress small b{color:var(--espresso)}
.form-eyebrow{font-size:8px;letter-spacing:.17em;color:#9a7a69;margin:0 0 8px}.booking-step h3,.contact-form h3{font:400 27px var(--serif);margin:0 0 21px}
.booking-form label,.contact-form label{font-size:9px;font-weight:600;color:#62574f;display:block;margin:13px 0 7px}
.booking-form input,.booking-form select,.booking-form textarea,.contact-form input,.contact-form textarea,.newsletter-form input{width:100%;border:1px solid #e3dcd5;background:#fffdfa;min-height:43px;padding:10px 12px;border-radius:0;outline:none;font-size:10px;color:var(--espresso);transition:border .2s}
.booking-form textarea,.contact-form textarea{resize:vertical}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,.contact-form input:focus,.contact-form textarea:focus,.newsletter-form input:focus{border-color:#a98776;box-shadow:0 0 0 2px #b5917a1b}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-next{margin-top:22px}.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.form-actions .button{padding:0 16px}
.booking-step[hidden]{display:none!important}.booking-step.active{display:block}
.optional{font-size:8px;color:#a2968d;font-weight:400}
.booking-summary{background:#f6f1ec;padding:16px 18px;margin-bottom:17px}
.summary-row{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid #e9e1da;font-size:10px}.summary-row:last-child{border-bottom:0}.summary-row span{color:#8b7c72}
.form-demo-note{font-size:8px;line-height:1.5;color:#9a8c81;margin:13px 0 0}
.form-feedback{font-size:10px;line-height:1.5;margin-top:12px;color:#52715d}.form-feedback.error{color:#a24e44}
.faq{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:12%;padding:0 40px}.faq-heading h2{font-family:var(--serif);font-size:53px;font-weight:400;line-height:1.1;margin:0 0 19px}.faq-heading .text-link{margin-top:10px}
.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;cursor:pointer;font:17px var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{width:27px;height:27px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:10px var(--sans);transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list details>p{font-size:10px;line-height:1.8;color:var(--muted);margin:-4px 37px 17px 0;max-width:600px}
.contact{background:#eee5dd}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;padding:0 40px}
.contact h2{font-size:clamp(40px,4vw,54px);margin-bottom:19px}
.contact-detail{display:flex;gap:14px;align-items:flex-start;margin:20px 0}.contact-detail>i{color:#9c7765;font-size:14px;margin-top:2px}.contact-detail strong,.contact-detail small{display:block}.contact-detail strong{font:16px var(--serif);font-weight:400}.contact-detail small{font-size:9px;color:#8d7e73;margin-top:4px}
.whatsapp-link{margin-top:12px}.whatsapp-link .optional{color:#e7dcd2}
.contact-right{display:flex;flex-direction:column;gap:14px}.contact-form h3{margin-bottom:14px}.contact-form .button{margin-top:17px}.contact-form .form-demo-note{margin-bottom:0}
.map-placeholder{height:155px;background:#e4d9d0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#87766b;text-align:center;padding:15px}.map-placeholder i{font-size:19px}.map-placeholder strong{font:17px var(--serif);font-weight:400}.map-placeholder span{font-size:8px}
.newsletter{padding:55px 0;background:#e7dbd1}
.newsletter-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.newsletter .eyebrow{margin-bottom:9px}.newsletter h2{font-size:36px;margin:0 0 8px}.newsletter-inner>div>p:last-child{font-size:10px;color:#83756b;margin:0}
.newsletter-form{width:min(365px,100%);position:relative;display:flex;border-bottom:1px solid #9d8b7f}.newsletter-form input{border:0;background:transparent;padding-left:0}.newsletter-form input:focus{box-shadow:none;border:0}.newsletter-form button{border:0;background:transparent;padding:0 10px;cursor:pointer}.newsletter-form small{position:absolute;top:51px;left:0;font-size:8px;color:#93857a}.newsletter-form .form-feedback{position:absolute;top:52px;right:0;margin:0}
.site-footer{background:#312824;color:#f4eee8;padding:55px 0 0}.footer-main{display:grid;grid-template-columns:1.2fr .7fr .9fr 1.2fr;gap:40px;padding-bottom:45px}.footer-brand .brand{color:#f4eee8!important;align-items:flex-start}.footer-brand p{font:18px/1.5 var(--serif);color:#d8cbc0;margin:22px 0}.footer-social{display:flex;gap:10px}.footer-social a{width:29px;height:29px;border:1px solid #64574f;border-radius:50%;display:grid;place-items:center;font-size:11px;transition:background .2s}.footer-social a:hover{background:#725a4b}.footer-column h3{font:16px var(--serif);margin:6px 0 17px}.footer-column a,.footer-column>span{display:block;color:#cbbeb3;font-size:9px;margin:11px 0}.footer-column a:hover{color:#fff}.footer-column p{font-size:9px;line-height:1.8;color:#cbbeb3}.footer-bottom{border-top:1px solid #51443d;padding:17px 18px;display:flex;justify-content:space-between;gap:15px;font-size:8px;color:#bbaea3}.footer-bottom div{display:flex;gap:19px}.footer-bottom a:hover{color:#fff}
.back-top{position:fixed;z-index:40;bottom:20px;right:20px;width:38px;height:38px;border:0;background:var(--espresso);color:white;opacity:0;pointer-events:none;transition:opacity .2s;cursor:pointer}.back-top.visible{opacity:1;pointer-events:auto}
.lightbox{position:fixed;z-index:100;inset:0;background:#201916ed;display:flex;align-items:center;justify-content:center;padding:45px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:min(82vw,1000px);max-height:78vh;width:auto;height:auto;object-fit:contain}.lightbox button{position:absolute;border:0;background:#ffffff1a;color:#fff;width:40px;height:40px;cursor:pointer}.lightbox-close{top:24px;right:24px}.lightbox-prev{left:28px;top:50%}.lightbox-next{right:28px;top:50%}.lightbox-caption{position:absolute;bottom:20px;color:#eee;font-size:9px;letter-spacing:.12em}
.beauty-match{width:min(540px,calc(100% - 32px));max-height:min(720px,calc(100dvh - 32px));padding:0;border:1px solid #ffffff9c;background:var(--paper);color:var(--espresso);box-shadow:0 30px 100px #1d15114a;overflow:auto}
.beauty-match::backdrop{background:#211916a6;backdrop-filter:blur(6px)}
.match-content{padding:48px 46px 38px}
.match-close{position:absolute;right:15px;top:15px;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:transparent;color:#75665d;cursor:pointer}
.match-content>.eyebrow{margin-bottom:18px}
.match-progress{display:flex;gap:6px;margin-bottom:28px}.match-progress span{height:2px;flex:1;background:#e8dfd7}.match-progress span.active{background:#9c7765}
.match-step h2{font:400 clamp(32px,7vw,42px)/1.1 var(--serif);letter-spacing:-.04em;margin:0 0 11px}.match-step h2 em{color:var(--rose)}
.match-step>p:not(.form-eyebrow){font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 22px}
.match-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.match-options button{min-height:74px;display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);background:#fffdfa;text-align:left;cursor:pointer;transition:border .2s,transform .2s,background .2s}
.match-options button:hover{border-color:#b99280;background:#f8f1eb;transform:translateY(-2px)}
.match-options button>i:first-child{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f1e8e0;color:#9d7766;font-size:14px;flex:0 0 auto}
.match-options button>i:last-child{margin-left:auto;font-size:11px;color:#9b8576}
.match-options button span{font:16px var(--serif)}
.match-options button small{display:block;font:9px var(--sans);color:var(--muted);margin-top:4px}
.match-time-options{grid-template-columns:1fr}
.match-time-options button{min-height:66px}
.match-back{border:0;background:none;color:#81736a;font-size:10px;padding:15px 0 0;cursor:pointer}
.match-result{text-align:center;padding:13px 0 4px}
.match-result-icon{width:57px;height:57px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#f0e4da;color:#a47a68;font-size:22px}
.match-result .form-eyebrow{margin-bottom:9px}
.match-result h2{font-size:38px}
.match-result>p:not(.form-eyebrow){max-width:355px;margin:0 auto 23px}
.match-result .button{margin:0 auto 3px}
.match-result .match-back{display:block;margin:0 auto}
.match-step[hidden]{display:none!important}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.reveal-delay{transition-delay:.12s}
@keyframes heroReveal{from{transform:scale(1.06);opacity:.65}to{transform:scale(1.015);opacity:1}}
@keyframes beautyFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes sparkleFloat{0%,100%{opacity:.55;translate:0 0;scale:.86}50%{opacity:1;translate:0 -7px;scale:1.08}}
@keyframes fadeIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:991px){
 .navbar-nav{gap:0}.site-header .navbar{padding:0 24px}.navbar-collapse{position:absolute;top:75px;left:0;right:0;background:var(--ivory);padding:10px 25px 22px;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s,opacity .25s,box-shadow .25s}.navbar-collapse.open{max-height:520px;opacity:1;box-shadow:0 15px 25px #34272110}.navbar-nav .nav-link{padding:11px 0!important}.nav-book{margin-top:8px}
 .hero{padding-top:48px}.hero-grid{gap:5%;grid-template-columns:.9fr 1.1fr;padding:0 28px}.hero-image-wrap{height:420px}.hero h1{font-size:62px}.hero-copy{padding-left:1%}.hero-stamp{left:-33px}
 .intro-grid{gap:7%;padding:0 22px}.intro-image{height:420px}.intro-copy{padding-right:0}
 .service-grid{grid-template-columns:repeat(3,1fr)}.service-photo{height:220px}
 .why-grid,.booking-grid,.faq-grid,.contact-grid{padding:0 20px;gap:7%}
 .expert-image{height:290px}.package-card{padding:29px 22px}.package-card.package-featured{padding-top:35px}
 .gallery-grid{grid-template-rows:190px 200px}.experience-grid{padding:0 20px;gap:8%}
 .footer-main{gap:25px}
}
@media(max-width:767px){
 html{scroll-padding-top:76px}.announcement{height:32px}.announcement p{font-size:8px;letter-spacing:.06em}.announcement-close{right:7px}.site-header{height:66px}.site-header .navbar{padding:0 16px}.brand{font-size:24px}.navbar-collapse{top:65px}
 .hero{padding-top:35px}.hero-grid{grid-template-columns:1fr;gap:31px;padding:0 22px;min-height:unset}.hero-copy{padding:0}.hero h1{font-size:clamp(56px,12vw,75px)}.hero-description{max-width:400px}.hero-note{margin-top:27px}.hero-visual{padding:0 15px 19px 0;margin:0 0 0 13px}.hero-image-wrap{height:min(112vw,490px);border-radius:150px 150px 2px 2px}.hero-stamp{left:-17px;top:35px;width:80px;height:80px;font-size:8px}.hero-card{right:0;min-width:185px;padding:12px}.hero-side-caption{right:-2px}.hero-3d-label{right:25px;top:19px;font-size:6px;padding:8px 10px}.hero-bottom{padding:25px 23px 17px}
 .section-pad{padding:76px 0}.intro-grid{grid-template-columns:1fr;gap:35px;padding:0 22px}.intro-image{height:min(105vw,440px);max-width:none;margin-right:16px}.intro-copy{padding:0}.intro-copy h2,.section-heading h2,.why h2,.experience h2,.contact h2{font-size:clamp(40px,10vw,54px)}.values-row{margin-top:29px}
 .section-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:27px;padding:0 3px}.section-heading h2{font-size:45px}.section-aside{max-width:420px}.heading-link{margin-top:0}
 .services .container,.experts .container,.packages .container,.gallery .container,.instagram .container{padding-left:22px;padding-right:22px}
 .filter-row{gap:19px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.filter-button{flex-shrink:0}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.service-photo{height:clamp(155px,52vw,245px)}.service-meta{display:block;margin-top:11px}.service-meta h3{font-size:18px}.service-meta>span{display:block;margin-top:5px}.service-card>p{line-height:1.5}
 .quote-band{padding:55px 0}
 .why-grid{grid-template-columns:1fr;gap:35px;padding:0 22px}.why-item{grid-template-columns:40px 1fr 20px;gap:12px}.why-item h3{font-size:18px}
 .expert-grid{grid-template-columns:1fr 1fr;gap:27px 14px}.expert-card:last-child{grid-column:1/-1;width:calc(50% - 7px)}.expert-image{height:clamp(210px,62vw,350px)}.expert-card h3{font-size:21px}
 .package-grid{grid-template-columns:1fr;gap:12px}.package-card{padding:29px 25px}.package-card.package-featured{padding-top:36px}.package-card ul{min-height:unset}
 .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:190px 170px 170px;gap:9px}.tile-tall{grid-row:span 2}.tile-wide{grid-column:span 1}.gallery-tile>span{font-size:7px;left:9px;bottom:10px}
 .experience-grid{grid-template-columns:1fr;gap:40px;padding:0 22px}.experience-visual{height:min(86vw,390px);margin-right:15px}.experience-seal{right:-12px;width:84px;height:84px}.experience-copy{padding-right:10px}
 .testimonial{padding:65px 20px 56px}.offer-band{padding:42px 0}.offer-inner{align-items:flex-start;flex-direction:column;padding:0 25px}.offer-inner h2{font-size:39px}.offer-inner .button{margin-top:6px}
 .social-grid{grid-template-columns:repeat(3,1fr);gap:7px}.social-grid a{height:29vw;max-height:190px}
 .booking-grid{grid-template-columns:1fr;gap:34px;padding:0 20px}.booking-copy h2{font-size:48px}.booking-contact{margin-top:23px}.booking-form,.contact-form{padding:25px 20px}.form-two{grid-template-columns:1fr;gap:0}
 .faq-grid{grid-template-columns:1fr;gap:32px;padding:0 22px}.faq-heading h2{font-size:47px}.faq-list summary{font-size:16px}
 .contact-grid{grid-template-columns:1fr;gap:32px;padding:0 22px}.contact h2{font-size:46px}
 .newsletter-inner{display:block;padding:0 23px}.newsletter h2{font-size:32px}.newsletter-form{margin-top:25px;width:100%}
 .footer-main{grid-template-columns:1fr 1fr;gap:32px 18px;padding:0 23px 32px}.footer-brand{grid-column:1/-1}.footer-bottom{padding:16px 23px;flex-wrap:wrap}.footer-bottom>span:last-child{display:none}.footer-bottom div{gap:13px}
 .lightbox{padding:28px}.lightbox img{max-width:88vw;max-height:72vh}.lightbox-prev{left:8px}.lightbox-next{right:8px}
 .match-content{padding:45px 22px 27px}.match-options button{gap:8px;padding:10px}.match-options button span{font-size:14px}
}
@media(max-width:380px){.hero-actions{gap:17px}.hero-actions .button{padding:0 15px}.hero-actions .text-link{font-size:9px}.service-meta h3{font-size:16px}.service-meta>span{font-size:8px}.values-row{gap:5px}.values-row strong{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-image-wrap{transform:none!important}.hero-makeup-float,.hero-sparkle{translate:none!important;scale:1!important}}
